Transliteration is a process of converting a text written in a first script, e.g., a human-readable script, into a corresponding text written in a second script. The second script uses characters that are different from characters of the first script. In other words, transliteration is a mapping from one system of writing script into another system of writing script, typically grapheme to grapheme (or phoneme to phoneme). As a result of the transliteration, the converted text written in the second script is legible for users who know how to read the second script. A goal of transliteration is that the text in the second script should accurately and unambiguously represent the characters of the original text in the first script. However, an inherent difficulty of the conventional transliteration techniques is that the transcribed graphemes or phonemes can be ambiguous. For example, a single phoneme in an input script may correspond to one or many characters in a target script, and any given character in the target script may be transliterated with various phonemes.